/*
 * _DoOperator.h
 *
 *  Created on: Oct 19, 2012
 *      Author: wenwei
 */

#ifndef DOOPERATOR_H_
#define DOOPERATOR_H_

#include "_DoObject.h"

class _DoOperator: public _DoObject
{
protected:
	_DoOperator(const _DoOperator&);
	_DoOperator& operator=(const _DoOperator&);
		
	virtual CRefPtr< _DoObject > clone() {
		_DoOperator *p0 = new _DoOperator();
		_DoObject::clone(p0, this);
		
		return CRefPtr< _DoObject >(p0);
	}
public:
	_DoOperator();
	virtual ~_DoOperator();

	virtual bool executable() const {
		return true;
	}

	virtual bool match(DevilSemantic &state) const {
		CXXTHROW
	}

};

#endif /* DOOPERATOR_H_ */
